An enterprise computing environment may contain one or more business logic modules (BLM). A BLM is a piece of software that performs a specific task or function. For example, a BLM is operable to promote the exchange of data, such as by retrieving data from a database and returning that data to the calling application. A BLM is typically written only when the need to retrieve such data and/or perform that task or function arises. Over time, hundreds or even thousands of BLMs may be written to perform various tasks.
In this type of architecture, internal applications may natively call a given BLM via a message queue. However, if an external non-native application wants access to a BLM, a web services wrapper (“wrapper”) may need to be written for that BLM, so that the BLM is accessible to external applications.
Writing a web services wrapper for each BLM may be undesirable for several reasons. First, writing a wrapper for each BLM means that if, for example, an external application that needs access to three hundred BLMs, would require that three hundred web services wrappers would need to be written. Second, because a BLM typically performs a very basic task or function, writing the code for the wrapper may involve more coding than the code written for the BLM. Third, the computing overhead for a call to a BLM is increased because each time an external party calls a BLM, that BLM's wrapper is also executed.